//
//  MineDataTool.h
//  Traveling
//
//  Created by 曹秀云 on 15/6/4.
//  Copyright (c) 2015年 长沙市岳麓区立早网络科技有限公司. All rights reserved.
//

#import "BaseDataTool.h"
#import "RegisterResult.h"
#import "MessageRes.h"
#import "TripOrderRes.h"
#import "OrderEditRes.h"
#import "OrderItemRes.h"
#import "TripDetailResult.h"
#import "TripPorjectListResult.h"
#import "OrderDetailRes.h"
#import "SignPayRes.h"
@interface MineDataTool : BaseDataTool
/**
 *  注册
 *
 *  @param params  参数
 *  @param success
 *  @param failure
 */
+(void)registerWithParams:(NSDictionary *)params success:(void (^)(RegisterResult *result))success failure:(void (^)(NSError *error))failure;


/**
 *  商户，个人用户登录
 *
 *  @param username  用户名
 *  @param password  密码
 *  @param loginType 登录类型：如果为0，代表个人用户，如果为1，代表商户
 *  @param success
 *  @param failure
 */
+(void)loginWithUserName:(NSString *)username password:(NSString *)password loginType:(NSInteger)loginType success:(void (^)(RegisterResult *result))success failure:(void (^)(NSError *error))failure;
/**
 *  我的行程
 *
 *  @param user_id
 *  @param maxId
 *  @param success
 *  @param failure
 */

+(void) getMyTripOrders:(NSString *)user_id   maxId:(NSInteger)maxId  success:(void (^)(TripOrderRes *result))success failure:(void (^)(NSError *error))failure;

/**
 *  获取行程详情
 *
 *  @param plan_id 行程 Id
 *  @param success <#success description#>
 *  @param failure <#failure description#>
 */
+(void) getTripDetailInfoWithPlanId:(NSString *)plan_id success:(void (^)(TripDetailResult *result))success failure:(void (^)(NSError *error))failure;

/**
 *  创建行程
 *
 *  @param user_id   用户 Id
 *  @param json_plan 行程 json 数据，需要进行 urlEncode
 *  @param success   <#success description#>
 *  @param failure   <#failure description#>
 */
+(void)createTripOrderUserId:(NSString *)user_id json_plan:(NSString *)json_plan  success:(void (^)(BaseResponse *result))success failure:(void (^)(NSError *error))failure;
/**
 *  获取行程酒店项目列表和行程景区项目列表
 *
 *  @param since_id 若指定此参数，则返回 Id 比 since_id 大的信息（即比 since_id 时间晚的信息），默认为0
 *  @param maxId    若指定此参数，则返回 Id 小于等于 max_id 的信息，默认为0。
 *  @param type     区分是获取酒店还是行程景区项目列表
 *  @param success  <#success description#>
 *  @param failure  <#failure description#>
 */
+(void) getTripProjectListSinceId:(NSString *)since_id maxId:(NSInteger)maxId type:(NSInteger) type success:(void (^)(TripPorjectListResult *result))success failure:(void (^)(NSError *error))failure;

/**
 *  提交订单
 *
 *  @param params
 *  @param success
 *  @param failure
 */
+(void)saveOrderInfo:(NSMutableDictionary *)params success:(void (^)(OrderEditRes *result))success failure:(void (^)(NSError *error))failure;
/**
 *  获取订单信息
 *
 *  @param order_type 订单类型（1、酒店住宿、2景点景区、3旅游线路、4旅游特产）
 *  @param max_id     <#max_id description#>
 *  @param success    <#success description#>
 *  @param failure    <#failure description#>
 */
+(void)getOrderInfo:(NSInteger)order_type max_id:(NSInteger)max_id success:(void (^)(OrderItemRes *result))success failure:(void (^)(NSError *error))failure;

/**
 *  获取订单详情信息
 *
 *  @param order_sn   订单号
 *  @param success    <#success description#>
 *  @param failure    <#failure description#>
 */
+(void)getOrderDetailInfo:(NSString *)order_sn success:(void (^)(OrderDetailRes *result))success failure:(void (^)(NSError *error))failure;
/**
 *  获取签证数据
 *
 *  @param paydata <#paydata description#>
 *  @param success <#success description#>
 *  @param failure <#failure description#>
 */
+(void)getSignOrderInfo:(NSString *)paydata success:(void (^)(SignPayRes *result))success failure:(void (^)(NSError *error))failure;


@end
